1. Technical Field
The present invention relates generally to secure processing and in particular to a method and apparatus employing a dynamic encryption interface between a processor and a memory.
2. Background Art
In the area of secure processing, it is important to protect the system from outside threats such as a "record and decode" threat and a "record and playback" threat. The "record and decode" threat occurs when an interloper decodes sensitive information by watching and recording a transaction that occurs on a pin of an integrated circuit (e.g., a microprocessor integrated circuit). The "record and playback" threat occurs when an interloper attempts to repeat a transaction by recording the transaction and playing the transaction back to the device (e.g., the microprocessor integrated circuit).
For example, with the advent of electronic cash that is stored in "smart cards", an interloper can record a "deposit" transaction and, without any knowledge of exactly what the encoded sequence means, could replay this "deposit" transaction back to the smart card. If someone observed a transaction involving $X and one involving $Y, the interloper can replay the transaction by changing only the dollar amount and tamper with the balance in his account or another's account.
Conventional schemes of encrypting data between a processor and a memory provide protection against some threats but not against others. For example, one approach to protect against security threats is to employ physical protection to prevent access to the pins of the device. Consider a system having a first device and a second device that are each packaged in its own package. In order to protect the interface between the first device and the second device, this conventional approach encapsulates the first and second devices so that the interface between the first device and the second device is not accessible to an interloper.
This approach suffers from several disadvantages. First, the cost to encapsulate the first and second device is high due to the packaging materials employed and the labor involved in encapsulating the first device and the second device. Second, this approach precludes the use of standard devices in systems. Since the interface between the devices is hidden from view, standard pin-outs are unavailable, precluding a system integrator from sourcing the first or second device from different manufacturers.
A second approach to reduce security threats is to encrypt data that is being communicated between the first device and the second device. Conventional encryption schemes suffer from several disadvantages. First, conventional encryption schemes require non-standard encryption synchronization and logic in both the first device and the second device. This additional and non-standard logic in the first and second device increases the cost of the system and further delays the access time to the second device by the first device. Second, as with the first approach, conventional encryption precludes the use of standard devices since the manufacturer of the first device and the manufacturer of the second device must agree a priori the encryption and synchronization protocol between the first and second device. Third, although this approach reduces the exposure to the record and decode threat, this approach does not address the record and playback threat.
In general, the conventional encryption schemes make it difficult for memory data to be observed and understood, but do not protect the system from being tampered with. Specifically, the conventional schemes fail to protect a system from the "record and playback" threat.
Accordingly, there remains a need for an improved interface between a processor and a memory that protects data communicated between the processor and the memory from the above-noted threats.